1. Field of the Invention
Embodiments of the present invention provide a system and a method for managing a contact center. More particularly, embodiments of the present invention provide a system and a method for enabling a contact center to dynamically modify its routing configuration in response to variations in contacts and resources.
2. Description of Related Art
Contact centers are employed by many enterprises to service inbound and outbound communication with contacts/customers. A typical contact center includes a number of switches and routers for receiving and routing incoming packet-switched and/or circuit-switched contacts, and one or more resources, such as human agents and automated resources (e.g., Interactive Voice Response (IVR) units), to service the incoming contacts.
Contact centers distribute contacts, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria. In many existing systems, the criteria for servicing a contact from the moment the contact center becomes aware of the contact until the contact is connected to an agent are client or operator-specifiable (i.e., programmable by the operator of the contact center), via a capability called vectoring. Normally, in present-day automatic call distribution (ACD), when an ACD system's controller detects an agent has become available to handle a contact, the controller identifies all predefined contact-handling queues for the agent (usually in some order of priority) and delivers to the agent the highest-priority, oldest contact that matches the agent's highest-priority queue. Generally, the only condition that results in a contact not being delivered to an available agent is where there are no contacts waiting to be handled.
The switches and routers that are employed in traditional contact center infrastructure and, more generally, in traditional computer/telecommunications infrastructure, are typically very large, very expensive, and are difficult to reconfigure once a particular network configuration has been established. Thus, while the use of such infrastructure may facilitate a reliable system, it also presents a number of drawbacks. For example, route configurations within the system do not change when resources (e.g., agents, automated media, etc.) are added or removed, resulting in inefficient network utilization. Furthermore, route configurations within the system do not change when networks become congested, because networks have no flexibility to adapt or reconfigure in response to changing traffic patterns. Still further, since switches are responsible for data forwarding and network control, their failure may have a detrimental effect on many other network components.